<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>promise对象的race方法</title>
</head>
<body>
    
</body>
<script>
    //race() 将多个promsie对象实例包装成新的promise对象
    //如果多个实例中状态都为fulfilled,那么优先执行第一个fulfilled实例
    //如果实例中存在rejected状态，不会影响整体执行（只要存在fulfilled状态，就一定走.then）
    //所有实例全部都时rejected状态，走.catch

    let promise1 = new Promise((resolve,reject)=>{
        setTimeout(()=>{
            resolve(1000)
        },1000)
    })

    let promise2 = new Promise((resolve,reject)=>{
        setTimeout(()=>{
            resolve('hello')
        },1000)
    })

    let promise3 = new Promise((resolve,reject)=>{
        setTimeout(()=>{
            reject('promise3 失败了')
        },1000)
    })
    
    let promise4 = Promise.race([promise1,promise2,promise3])
    .then((res)=>{
        console.log(res);
        
    })
    .catch((err)=>{
        console.log(err);
        
    })
    
</script>
</html>